'''

CPU-bound cpu密集型
是指读取时间在极短的时间 完成 也就是我们的io 进行的比较快
 example 例如：压缩解压缩、加密解密、正则表达式搜索

IO 密集型 I/O
IO密集型指的是系统运作大部分的状况是CPU在等|/O(硬盘/内存)的读/写
操作，CPU占用率仍然较低。
例如：文件处理程序、网络爬虫程序、读写数据库程序
(多线程适合io密集型计算 同时运行的任务数量要求不多)
'''

'''

多进程Process(multiprocessing)
优点：可以利用多核CPU併行运算
缺点：占用资源最多、可启动数目比线程少
●
适用于：CPU密集型计算

多线程Thread
(threading
优点：相比进程，更轻量级、占用资源少
缺点：
相比进程：多线程只能并发执行，不能利用多CPU(GL)
相比协程：启动数目有限制，占用内存资源，有线程切换开销
适用于：O密集型计算、同时运行的任务数目要求不多

多协程Coroutine
asyncio)
优点：内存开销最少、启动协程数量最多
●
缺点：支持的库有限制(aiohttp vs requests)、代码实现复杂
●
适用于：IO密集型计算、需要超多任务运行、但有现成库支持的场景

'''
import requests

urls = [
    f'https://www.cnblogs.com/#p{page}'
    for page in range(1, 51)

]


def craw(url):
    r = requests.get(url=url)
    # print(url, len(r.text))
